var z_tile = Math.ceil(Math.abs(tempz) / world.cellWidth);
var depth = world.tiles[x_tile][z_tile].depth + 1;
var clip = world.path.attachMovie("BadGuy" + character + "_lmc",name,depth);
var ob = {dir:dir,tempx:tempx,tempy:tempy,tempz:tempz,x_tile:x_tile,z_tile:z_tile,clip:clip,speed:speed,moving:false,targXTile:null,targZTile:null,xmov:xmov,zmov:zmov,time:0,maxtime:80};
world.badGuysArray.push(ob);
positionCharacter(ob);
}
function fnMoveBadGuys()
{
var i = 0;
while(i < world.badGuysArray.length)
{
var ob = world.badGuysArray[i];
if(ob.moving)
{
var tempx = ob.x + ob.xmov;
var tempz = Math.abs(ob.z + ob.zmov);
var x_tile = Math.ceil(tempx / world.cellWidth);
var z_tile = Math.ceil(tempz / world.cellWidth);
if(!world.tiles[x_tile][z_tile].isObject or world.tiles[x_tile][z_tile].pickup and (x_tile != ob.targXTile and z_tile != ob.targZTile))
{
ob.tempx = ob.x + ob.xmov;
ob.tempz = ob.z + ob.zmov;
ob.x_tile = x_tile;
ob.z_tile = z_tile;
positionCharacter(ob);
var depth = world.tiles[x_tile][z_tile].depth + 3;
ob.clip.swapDepths(depth);
}
else
{
ob.tempx = ob.x;
ob.tempz = ob.z;
ob.xmov = 0;
ob.ymov = 0;
ob.moving = false;
ob.clip.gotoAndStop("stand" + ob.dir);
ob.time = 0;
}
}
i++;
}
}
function fnBadGuyAI()
{
var i = 0;
while(i < world.badGuysArray.length)
{
var ob = world.badGuysArray[i];
ob.time = ob.time + 1;
if(!ob.moving and ob.time > 6 - gameMC.gLevel)
{
var x_tile = ob.x_tile;
var z_tile = ob.z_tile;
var xsign = world.char.x_tile - ob.x_tile;
var zsign = world.char.z_tile - ob.z_tile;
var dir;
if(xsign < 0)
{
if(!world.tiles[x_tile - 1][z_tile].isObject)
{
dir = 5;
}
else if(zsign < 0 and !world.tiles[x_tile][z_tile - 1].isObject)
{
dir = 3;
}
else if(zsign > 0 and !world.tiles[x_tile][z_tile + 1].isObject)
{
dir = 7;
}
}
else if(xsign > 0)
{
if(!world.tiles[x_tile + 1][z_tile].isObject)
{
dir = 1;
}
else if(zsign < 0 and !world.tiles[x_tile][z_tile - 1].isObject)
{
dir = 3;
}
else if(zsign > 0 and !world.tiles[x_tile][z_tile + 1].isObject)